return _gtk_css_font_weight_value_new (new_weight);
}
+static GtkCssValue *
+gtk_css_value_font_weight_transition (GtkCssValue *start,
+ GtkCssValue *end,
+ guint property_id,
+ double progress)
+{
+ PangoWeight new_weight;
+
+ if (start->value < 0 || end->value < 0)
+ return NULL;
+
+ new_weight = (start->value + end->value + 50) / 200 * 100;
+
+ return _gtk_css_font_weight_value_new (new_weight);
+}
+
static const GtkCssValueClass GTK_CSS_VALUE_FONT_WEIGHT = {
gtk_css_value_enum_free,
gtk_css_value_font_weight_compute,
gtk_css_value_enum_equal,
- gtk_css_value_enum_transition,
+ gtk_css_value_font_weight_transition,
gtk_css_value_enum_print
};
gtk_css_style_property_register ("font-weight",
GTK_CSS_PROPERTY_FONT_WEIGHT,
PANGO_TYPE_WEIGHT,
- GTK_STYLE_PROPERTY_INHERIT,
+ GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT,
parse_pango_weight,
query_pango_weight,